# 直接替换文件并修复语法问题的脚本
import os
import shutil

# 文件路径
original_file = r'd:\未知\yolo_apply\video_processing\video_processor.py'
backup_file = r'd:\未知\yolo_apply\video_processing\video_processor.py.backup'

# 先备份当前文件作为预防措施
shutil.copy2(original_file, original_file + '.pre_replace')
print(f"已创建当前文件的备份: {original_file}.pre_replace")

# 直接复制备份文件到原文件
shutil.copy2(backup_file, original_file)
print(f"已从备份文件 {backup_file} 复制内容到 {original_file}")

# 现在读取文件并进行精确的修复
with open(original_file, 'r', encoding='utf-8') as f:
    lines = f.readlines()

# 查找并修复第1849行附近的代码
for i, line in enumerate(lines):
    # 查找问题区域
    if i == 1848:  # 假设第1849行是问题行（索引从0开始）
        # 检查当前行内容
        print(f"当前第1849行内容: {repr(line)}")
        # 替换为正确的代码行
        lines[i] = '                current_time = time.time()\n'
        print(f"已替换为: {repr(lines[i])}")
    # 确保后续引用一致
    elif i == 1850 or i == 1854:  # 修复后续引用
        if 'current_time_value' in line:
            lines[i] = line.replace('current_time_value', 'current_time')
            print(f"已修复第{i+1}行的变量引用")

# 写回修复后的文件
with open(original_file, 'w', encoding='utf-8', newline='\n') as f:
    f.writelines(lines)

print(f"已成功修复 {original_file} 文件中的语法错误")
print("现在让我们再次尝试编译...")